package com.ztc.AppUser.bean;


import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import com.aqgj.util.BaseEntity;
import org.hibernate.annotations.GenericGenerator;

import java.util.Date;

@Entity
@Table(name = "app_user")
public class AppUser implements BaseEntity {

    private String id;//id

    private String name;//用户名

    private String password;//登录密码

    private String salt;//密码加密盐

    private String realName;//真实姓名

    private Integer sex;//性别（1男，2女）

    private Integer age;//年龄

    private java.util.Date birthday;//生日

    private String userCard;//身份证号码

    private String phone;//手机号

    private Integer status;//用户状态（1正常，2冻结）

    private Integer privateCarStatus;//顺风车用户状态（1顺风车用户待审核，2顺风车未通过审核，3审核通过，4冻结，5顺风车证件过期）

    private Integer expStatus;//快递员状态（1快递员用户待审核，2快递员未通过审核，3审核通过，4冻结）

    private String inArea;//所在地区

    private String personalizedSignature;//个性签名

    private String pid;//上级ID

    private java.util.Date createTime;//创建时间

    private String paymentPassword;//支付密码

    private String paymentSalt;//支付密码加密盐

    private String openId;//用户微信标识

    private Integer type;//APP用户类型（1普通，2私家车主用户，3快递员）

    private String examineRemark;//审核说明

    private java.util.Date examineTime;//审核时间

    private java.util.Date certificateEndTime;//证件有限期止

    private String transportId;//所属公司ID（快递业务）

    public void setId(String value){
        this.id = value;
    }
    public void setName(String value){
        this.name = value;
    }
    public void setPassword(String value){
        this.password = value;
    }
    public void setSalt(String value){
        this.salt = value;
    }
    public void setRealName(String value){
        this.realName = value;
    }
    public void setSex(Integer value){
        this.sex = value;
    }
    public void setAge(Integer value){
        this.age = value;
    }
    public void setBirthday(java.util.Date value){
        this.birthday = value;
    }
    public void setUserCard(String value){
        this.userCard = value;
    }
    public void setPhone(String value){
        this.phone = value;
    }
    public void setStatus(Integer value){
        this.status = value;
    }
    public void setInArea(String value){
        this.inArea = value;
    }
    public void setPersonalizedSignature(String value){
        this.personalizedSignature = value;
    }
    public void setPid(String value){
        this.pid = value;
    }
    public void setCreateTime(java.util.Date value){
        this.createTime = value;
    }
    public void setPaymentPassword(String paymentPassword) { this.paymentPassword = paymentPassword; }
    public void setPaymentSalt(String paymentSalt) { this.paymentSalt = paymentSalt; }
    public void setOpenId(String openId) {
        this.openId = openId;
    }
    public void setType(Integer type) {
        this.type = type;
    }
    public void setExamineRemark(String examineRemark) {
        this.examineRemark = examineRemark;
    }
    public void setExamineTime(Date examineTime) {
        this.examineTime = examineTime;
    }
    public void setTransportId(String transportId) { this.transportId = transportId; }
    public void setCertificateEndTime(Date certificateEndTime) {
        this.certificateEndTime = certificateEndTime;
    }
    public void setExpStatus(Integer expStatus) { this.expStatus = expStatus; }
    public void setPrivateCarStatus(Integer privateCarStatus) {  this.privateCarStatus = privateCarStatus;  }

    @Id
    @GeneratedValue(generator = "system-uuid")
    @GenericGenerator(name = "system-uuid", strategy = "uuid")
    @Column(name ="id",unique=true,nullable=false,insertable=true,updatable=true,length=32)
    public String getId(){
        return this.id;
    }
    @Column(name ="name",unique=false,nullable=true,insertable=true,updatable=true,length=64)
    public String getName(){
        return this.name;
    }
    @Column(name ="password",unique=false,nullable=true,insertable=true,updatable=true,length=64)
    public String getPassword(){
        return this.password;
    }
    @Column(name ="salt",unique=false,nullable=true,insertable=true,updatable=true,length=36)
    public String getSalt(){
        return this.salt;
    }
    @Column(name ="real_name",unique=false,nullable=true,insertable=true,updatable=true,length=64)
    public String getRealName(){
        return this.realName;
    }
    @Column(name ="sex",unique=false,nullable=true,insertable=true,updatable=true,length=3)
    public Integer getSex(){
        return this.sex;
    }
    @Column(name ="age",unique=false,nullable=true,insertable=true,updatable=true,length=3)
    public Integer getAge(){
        return this.age;
    }
    @Column(name ="birthday",unique=false,nullable=true,insertable=true,updatable=true,length=0)
    public java.util.Date getBirthday(){
        return this.birthday;
    }
    @Column(name ="user_card",unique=false,nullable=true,insertable=true,updatable=true,length=20)
    public String getUserCard(){
        return this.userCard;
    }
    @Column(name ="phone",unique=false,nullable=true,insertable=true,updatable=true,length=20)
    public String getPhone(){
        return this.phone;
    }
    @Column(name ="status",unique=false,nullable=true,insertable=true,updatable=true,length=3)
    public Integer getStatus(){
        return this.status;
    }
    @Column(name ="in_area",unique=false,nullable=true,insertable=true,updatable=true,length=20)
    public String getInArea(){
        return this.inArea;
    }
    @Column(name ="personalized_signature",unique=false,nullable=true,insertable=true,updatable=true,length=255)
    public String getPersonalizedSignature(){
        return this.personalizedSignature;
    }
    @Column(name ="pid",unique=false,nullable=true,insertable=true,updatable=true,length=32)
    public String getPid(){
        return this.pid;
    }
    @Column(name ="create_time",unique=false,nullable=true,insertable=true,updatable=true,length=0)
    public java.util.Date getCreateTime(){
        return this.createTime;
    }
    @Column(name ="payment_password",unique=false,nullable=true,insertable=true,updatable=true,length=64)
    public String getPaymentPassword() { return paymentPassword; }
    @Column(name ="payment_salt",unique=false,nullable=true,insertable=true,updatable=true,length=64)
    public String getPaymentSalt() { return paymentSalt; }
    @Column(name = "open_id",unique=false,nullable=true,insertable=true,updatable=true,length=128)
    public String getOpenId() {
        return openId;
    }
    @Column(name = "type",unique=false,nullable=true,insertable=true,updatable=true,length=4)
    public Integer getType() {
        return type;
    }
    @Column(name ="examine_remark",unique=false,nullable=true,insertable=true,updatable=true,length=255)
    public String getExamineRemark() {
        return examineRemark;
    }
    @Column(name ="examine_time",unique=false,nullable=true,insertable=true,updatable=true,length=0)
    public Date getExamineTime() {
        return examineTime;
    }
    @Column(name ="certificate_end_time",unique=false,nullable=true,insertable=true,updatable=true,length=0)
    public Date getCertificateEndTime() {
        return certificateEndTime;
    }
    @Column(name ="transport_id",unique=false,nullable=true,insertable=true,updatable=true,length=32)
    public String getTransportId() {  return transportId;  }
    @Column(name ="exp_status",unique=false,nullable=true,insertable=true,updatable=true,length=2)
    public Integer getExpStatus() { return expStatus; }
    @Column(name ="private_car_status",unique=false,nullable=true,insertable=true,updatable=true,length=2)
    public Integer getPrivateCarStatus() {  return privateCarStatus; }
}
